Support toolchain keyword (e.g. "+nightly") to set override at root command#2031
Conversation
63b814b to
1e075d7
Compare
bd13a56 to
0aacf5f
Compare
0aacf5f to
edfcb0c
Compare
|
Note: 97e6043 updated these:
Per:
Update: current version does not need warning anymore. |
edfcb0c to
97e6043
Compare
33fd8db to
7b7b736
Compare
@kinnison, sounds good. Updated per suggestion. PTAL at convenience? Thanks. |
7b7b736 to
a9d7dad
Compare
a9d7dad to
4ef8a1c
Compare
@pickfire, there's indeed only one toolchain (either by keyword or option format) in effect. Though the previous "toolchain-*" names were probably misleading. Updated to, hopefully, less confusing names (
The current logic is to follow @kinnison's suggestion ☝️ . I think the assignment of If there's a way to omit |
42a0693 to
7e697b0
Compare
546a9a6 to
b0220fc
Compare
@pickfire / @kinnison, after taking a step back and rethinking the approach, I also agree that overriding toolchain in cfg, and pass would have broader beneficial scope than just I've tested w. the reported command from #1498: |
796a20d to
94f639e
Compare
94f639e to
8b2dac1
Compare
|
@pickfire / @kinnison, updated 👇 per previous comments, and did some test about not saving settings in default profile. PTAL at convenience? (🤞feel really close to LGTY 😺) Per tests/cli-misc.rs
Indeed the leading underscore was my overlook. Updated. Also indeed the custom-1 to custom-2 conversion is to support the custom toolchain in the Per src/cli/rustup_mode.rs
Tried out From an earlier comment
Tested |
f8560e4 to
3ff67f7
Compare
kinnison
left a comment
There was a problem hiding this comment.
Looking good. Could you please add a test to assert that rustup +stable set profile minimal doesn't affect the default toolchain?
|
@BeniCheni Nice, looks good to me. Thanks a lot for taking this on. Just left the test that @kinnison mentioned. |
3ff67f7 to
48b5837
Compare
@kinnison, sure thing! Added tests per the helpful suggestion. Thank you. PTAL? 🙏
@pickfire, thank you! The version wouldn't have matured to the current version now, which could service all subcommed w. "+toolchain". Gratitude for your time & effort to review. Please take a final look, if you have time? 🙏 |
@BeniCheni Oh, no worries. I was initially trying to do this but I cannot find how .arg(
Arg::with_name("toolchain")
.help(TOOLCHAIN_ARG_HELP)
.long("toolchain")
.takes_value(true),
Arg::with_name("+toolchain")
.help("release channel (e.g. +stable) or custom toolchain to set override"),
)so I learned a lot as well. Either way, it is interesting to see how you use many different functions to piece this up. The only thing I don't get is the need to have https://github.com/rust-lang/rustup.rs/pull/2031/files#diff-a11274be6e834e18a2579dad1b37ce8dR1173, but it does not matter much here. |
@pickfire, I'm guessing the |
|
@BeniCheni Ah, I saw that there will always be a |
kinnison
left a comment
There was a problem hiding this comment.
As it stands, this is not going to work because it stores a persistent override and is very noisy about doing so. We need to ensure that rustup +foo ... doesn't affect any more than the individual execution.
99e07d0 to
6ef832f
Compare
Greeting @kinnison. After the merge of #2075 and the suggestion from Discord ☝️ , I was able to follow along the similar idea and pushed an edit. PTAL at next convenience? Here's some local testing w. the edited version: Tested w. rustup +nightly target add wasm32-unknown-unknownTested w. rustup +beta which cargo |
kinnison
left a comment
There was a problem hiding this comment.
This is looking very good. Just a couple of minor niggles.
6ef832f to
3e7c66f
Compare
@kinnison, nice suggestion for those UX tweaks. Added a validator, the |
kinnison
left a comment
There was a problem hiding this comment.
This appears to behave as desired. 👍
Thank you very much for your efforts here.
Support the toolchain keyword (e.g "+nightly") to set override of the current working directory for toolchain, at the root command.
This PR should resolve #1498, as the local test is using similar test case to the reported command from the issue:
Test w.
rustup +nightly target add wasm32-unknown-unknownConfirm that the target is added in my rustup toolchain nightly folder